package com.elitel.frame.base.service;

import java.util.List;

import com.elitel.frame.main.entity.vo.PageRequestVo;
import com.elitel.frame.main.entity.vo.PageResponseVo;
import com.elitel.frame.main.entity.CfgDb;

/**
 * @Description 数据库链接配置服务接口
 * @author guoyanfei
 */
public interface CfgDbService {
	
	/**
     * @Description 分页查询数据源
     * @param pr
     * @return
     * @author guoyanfei
     */
	PageResponseVo<CfgDb> getListByPage(PageRequestVo<CfgDb> pr);
	
	/**
     * @Description 批量删除数据源
     * @param pr
     * @return
     * @author guoyanfei
     */
	void deleteBatchByKey(List<String> keys);
	
	/**
     * @Description 新增数据源
     * @param CfgDb实体
     * @return 插入结果
     * @author guoyanfei
     */
	int insertData(CfgDb cfgDb);
	
	/**
     * @Description 修改数据源
     * @param CfgDb实体
     * @return 修改结果
     * @author guoyanfei
     */
	int updateData(CfgDb cfgDb);
	
	/**
     * @Description 通过dbkey查询数据源
     * @param dbkey
     * @return CfgDB实体
     * @author guoyanfei
     */
	CfgDb selectByKey(String key);
	
	/**
	 * 
	 * @Title: queryByKey 
	 * @Description: TODO(跟据唯一标识查询数据源连接信息) 
	 * @author Fanwenquan
	 * @return CfgDb
	 * @throws
	 */
	CfgDb queryByKey(String dbSign);
	
	/**
     * @Description 通过表标识查询数据库信息
     * @param dtConfigId
     * @return CfgDB实体
     * @author guoyanfei
     */
	CfgDb getDbInfoBydtconfigID(String dtConfigId);

	List<CfgDb> getCfgDBList();

	List<CfgDb> getAllListCfgDb();

	List<CfgDb> getDbListByDbType(String dbType);

    int getCount();

	List<CfgDb> dataSourceStatus();
}
